package com.jt.controller;

import com.jt.annotation.RequiredLog;
import com.jt.pojo.Item;
import com.jt.service.ItemService;
import com.jt.vo.ItemVO;
import com.jt.vo.PageResult;
import com.jt.vo.SysResult;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/item")
public class ItemController {

    @Autowired
    private ItemService itemService;

    /**
     * 请求路径: /item/getItemList?query=&pageNum=1&pageSize=10
     * 请求类型: get
     * 请求参数: 使用pageResult对象接收
     *
     *
     * */

    @GetMapping("/getItemList")
    public SysResult getItemList(PageResult pageResult){
        pageResult = itemService.getItemList(pageResult);

        return SysResult.success(pageResult);

    }
    @PostMapping("/saveItem")
    @RequiredLog
    public SysResult saveItem(@RequestBody ItemVO itemVO){
        itemService.saveItem(itemVO);
        return SysResult.success();
    }
    @DeleteMapping("/deleteItemById")
    @RequiredLog
    public SysResult deleteItemById(Integer id){
        itemService.deleteItemById(id);
        return SysResult.success();

    }
    @PutMapping("/updateItemStatus")
    @RequiredLog
    public SysResult updateItemStatus( @RequestBody Item item){
        itemService.updateItemStatus(item);
        return SysResult.success();
    }
    @GetMapping("/{id}")

    public SysResult findallById(@PathVariable Integer id){
        Item item=itemService.findallById(id);
        return SysResult.success(item);
    }
    @PutMapping("/updateItem")
    @RequiredLog
    public SysResult updateItem(@RequestBody Item item){
        itemService.updateItem(item);
        return SysResult.success();
    }

}
